#%RAML 1.0
title: Shelf Location API
version: v1.1
protocols: [ HTTP, HTTPS ]
baseUri: http://github.com/org/folio/mod-inventory-storage

documentation:
  - title: DEPRECATED Shelf Locations API (forth-level location unit)
    content: DEPRECATED - Can report the name and id of a (shelf) location, the forth-level location unit. This is a read-only proxy to the new locations interface at /locations that should be used instead.

types:
  shelflocation: !include shelflocation.json
  shelflocations: !include shelflocations.json
  errors: !include raml-util/schemas/errors.schema

traits:
  pageable: !include raml-util/traits/pageable.raml
  searchable: !include raml-util/traits/searchable.raml
  language: !include raml-util/traits/language.raml
  validate: !include raml-util/traits/validation.raml

resourceTypes:
  collection: !include raml-util/rtypes/collection.raml
  collection-item: !include raml-util/rtypes/item-collection.raml

/shelf-locations:
  type:
    collection:
      exampleCollection: !include examples/shelflocations.json
      exampleItem: !include examples/shelflocation.json
      schemaCollection: shelflocations
      schemaItem: shelflocation
  get:
    is: [
      searchable: {description: "with valid searchable fields", example: "name=aaa"},
      pageable
    ]
    description: DEPRECATED - return a list of (shelf) locations, the forth-level location unit. This is a read-only proxy to the new locations interface at /locations that should be used instead.
  post:
    description: DEPRECATED and NOT IMPLEMENTED - Create a new shelf location
    is: [validate]
  delete:
    description: "DEPRECATED and NOT IMPLEMENTED: Delete all shelf locations"
    is: [language]
    responses:
      204:
        description: "All shelf locations deleted"
      500:
        description: "Internal server error, e.g. due to misconfiguration"
        body:
          text/plain:
            example: "Internal server error, contact administrator"
  /{id}:
    description: "DEPRECATED: Get a new-kind of Location object, and convert it to old-style shelf-location. This is a read-only proxy to the new locations interface at /locations that should be used instead."
    type:
      collection-item:
        exampleItem: !include examples/shelflocation.json
        schema: shelflocation
    get:
      responses:
        501:
          description: "Not implemented yet"
    put:
      responses:
        501:
          description: "Not implemented yet"
    delete:
      responses:
        501:
          description: "Not implemented yet"


